Эквиваленттік класстар және шекаралық жағдайлар. Талаптармен жұмыс істеу және жоспарлау.

Алдыңғы сабақтарда сынақ бөлімі (сынақ дизайны) ретінде осы сынақ бөлімі туралы әңгімелестік және қазір ең жиі кездесетін және бірден бірге қолданылатын екі сынақ жасау әдістерін қарастырамыз. Эквиваленттік сыныптарды және шекаралық жағдайларды талдау әдісі. Бұл әдістер ең маңызды болып саналады:
● Олар бағдарламалық жасақтаманың әртүрлі деңгейлерінде - жеке функциялардан бастап бүкіл өнімге қолданылуы мүмкін.
● Көптеген тестерлер күн сайын интуитивті түрде пайдаланады.
● Бұл әдістерді дұрыс қолданбау елеулі қателіктерге жол бермеуі мүмкін. Сондықтан тестерлерге осы әдістерді білу және оларды дұрыс пайдалану мүмкіндігі маңызды.

Эквиваленттік сыныбын талдау техникасының мақсаттары.

Бұл техниканың мақсаты тек сынақ санын азайту ғана емес, сонымен қатар қолайлы сынақ қамтуын қамтамасыз ету болып табылады. Test Coverage - сынақ сапасын бағалау критерийлерінің бірі, яғни талаптар немесе орындалатын код үшін тестілеудің тығыздығы.
Мұнда біз сынаулардың санын қысқарту және сынақ жабуды үнемдеу, яғни қателерді табу үшін сынақтардың қабілетін сақтай отырып, қақтығыс көреміз. Бірақ біз сынақ санын азайтқымыз келсе, біз бұл ымыраға келуге мәжбүрміз.
Осы техниканы пайдаланған кезде, тестерлер келесідей:
● Тым көп эквивалентті сыныптар бірнеше тестілер артық болу ықтималдығын арттырады.
● Тым көп баламалы сыныптар өнім қателері жіберілмейтін ықтималдығын арттырады.

Баламалы сынақтар.

Біз қандай сынақтарды балама деп санаймыз?
Екі сынақ балама болып саналды, егер:
● Олар бірдей нәрсені (функция, модуль, жүйенің бөлігі) сынайды.
● Егер сынақтардың біреуі қатені тапса, екіншісі де оны ұстап алады.
● Егер олардың біреуі қатені таппаса, онда екіншісі де ұстамайды.
Егер бағдарламаның кіріс параметрлерін эквиваленттік туралы айтатын болсақ, сол бағдарлама мінез-құлқына әкелетін кіріс параметрлері баламалы болып саналады.

Техниканы қалай пайдалануға болады

Жабдықтарды пайдаланудың алгоритмі:
1. Эквиваленттік сыныптарды анықтаңыз. Бұл технологияның негізгі қадамы. 2. Содан кейін әр кластағы бір өкілді таңдау керек. Бұл қадамда әрбір балама сынақ жиынтығынан бір сынақты таңдаймыз.
3. Сіз тесттерді жүргізуіңіз керек. Бұл қадамда біз әрбір эквиваленттілік сыныбынан тест жүргіземіз.
Егер сізде уақыт болса, әр сыныптан бірнеше өкілдерді сынап көріңіз. Бірақ, бірінші қадамды дұрыс орындағанда, яғни эквиваленттік сыныптарды дұрыс анықтаған болсақ, онда қосымша сынақтар артық болмайды және бірдей нәтиже береді.
Бірінші қадамда, эквиваленттік сыныптарды анықтаған кезде, бағдарламашылар бізге үлкен көмек бере алады. Олар бағдарламаның қандай да бір кіріс параметрлері бойынша жұмыс жасайтынын біледі.
Әртүрлі қағидаларға сәйкес эквиваленттік сынақтарға тесттерді үзуге болады. Бұдан біздің тестілеудің тиімділігі пайда болады. Мысалы, ең көбі 5 таңба қабылдайтын енгізу өрісін сынасақ, эквиваленттік сыныптарды бөлудің әр түрлі принциптерін таңдай аламыз:
● Таңбалардың саны бойынша;
● Таңбалардың түрі бойынша (сандар, әріптер, арнайы таңбалар)

Эквиваленттік сыныптарды талдау техникасының артықшылықтары мен кемшіліктері.

● артықшылықтарға уақыттың айтарлықтай азаюы мен тестілеу құрылымын жақсарту жатады.
● Қолайсыз жағдайларда, қате пайдаланылған жағдайда, қате жібермеу қаупі бар.
Эквиваленттік кластарға бөлінудің маңызды принципін қайталаймыз:
● Тым көп эквивалентті сыныптар көптеген сынақтардың артық (артық) болуы ықтималдығын арттырады,
● Сынақ уақытын қысқартса да, балама сыныптардың өте аз саны, бірақ өнім қателері жіберілмеу ықтималдығын арттырады.
Сынаушы мұны есте ұстауы керек. Ол осыдан қорытынды жасай алады, қауіпсіздікті сынап көріп, сандарын азайтып, қателіктер жібермей, балама сыныптардың көп санына (немесе әрбір класстан бір сынақтан артық тапсыруға) тырысыңыз.

Шекаралық мәндерді талдау әдістемесі.

Анықтау.
Екінші техниканы қарастырайық - шекаралық мәндерді талдау. Бұл эквиваленттік кластардың шекарасында қателерді тексеру әдістемесі. Егер эквиваленттік сыныптарды талдау әдістемесі тестілеуді қамтуға бағытталған болса, онда бұл әдіс тәуекелге негізделген.
Неге шекаралық құндылықтармен байланысты елеулі тәуекелдер бар деп есептеледі?
● Ұзақ уақыт бойына кіріс айнымалыларының шекарасында көптеген проблемалар туындағаны байқалды.
● Баламалы сыныптар дұрыс анықталса да, шекаралық мәндер басқа класқа қате тағайындалуы мүмкін.
Бір қарағанда, бұл әдіс қарапайым. Бірақ бұл әсер бізді адастырмауы керек: осы техниканы тиімді пайдалану эквиваленттік сыныптарды дұрыс анықтауға және осы сыныптардың шекараларын тексеру үшін тесттерді таңдауға байланысты.

Шекаралық мәндерді талдау әдістемесінің мақсаты

Бұл техниканың мақсаты тұжырымдау қиын емес - шекаралық мәндермен байланысты қателерді табу.

Бағдарламалық қамтамасыз ету талаптарымен жұмыс

1. Тестілеу.
2. Тесттер негізінде жүргізеді.
3. Талаптардағы өзгерістерге арналған тесттерді актуализациялайды.
Сынақтар бағдарламалық қамтамасыз етуге қойылатын талаптарға негізделген, мысалы, тестілеу бағдарламалық жасақтаманың талаптары орындалатындығын (оң сынақтар) тексеруі керек, ал талаптардан тыс кез келген бағдарлама жарамсыз немесе жұмыс істемейтін (теріс сынақтар) жасамайды.

Бағдарламалық қамтамасыздандыруды жоспарлауға қатысу

Шығаруды жоспарлағанда тестілеушілер мынадай тапсырмаларды орындайды:
● Жаңа функционалдылықты тексеру;
● Қатені түзетуді тексеру;
● Регрессиялық тестілеу.

Жаңа функционалдылықты тексеру

Жаңа функционалдылықты тестілеу командаға мүмкіндігінше қысқа мерзімде кері байланыс беру үшін әзірленді. Бұл өте маңызды, өйткені ол жаңа шығарылымды «қылқалам» кезеңінде елеулі қателіктер қаупін азайтады. Жаңа функционалдылықтағы қателер дамудың «ыстық ізі» арқылы тезірек түзетілуі мүмкін.
Бағдарламалық қамсыздандырудағы жалпы тәжірибе тапсырманы орындау үшін еңбек шығындарын бағалау болып табылады. Осылайша, әзірлеушілер дамудың уақытын немесе күрделілігін бағалайды, ал тестерлер белгілі бір тапсырманы тестілеудің уақытын немесе күрделілігін бағалайды.
Сондықтан сынаушы уақытты дұрыс бөліп, кешенді функционалдылықты тексеру уақытын азайтуға тырысуы керек, мысалы, тестілеу үшін функционалдылықты алу арқылы емес, алдын ала тестілеуді жасау арқылы.

Қатені түзетуді тексеру

Қатені түзетуді тексеру бөлігі ретінде тестерлер немесе бағдарламалық жасақтама пайдаланушылары тапқан соңғы иерациядан қателерді түзету, сондай-ақ жаңа функционалдық қателерді түзету тексерілді.

Регрессиялық тестілеу

Бағдарламалық қамтамасыздандырудағы функционалдылықты және қателерді түзетуден басқа тестерлер тестілеуді жүргізеді және регрессиялық тестілеуді жүзеге асыруға баға береді.
Регрессиялық тестілеу өтінімге немесе қоршаған ортаға жасалған өзгерістерді тексеру үшін (ақауды белгілеу, кодты біріктіру, басқа операциялық жүйеге, дерекқорға, веб-серверге немесе бағдарлама серверіне көшуге) арналған тексерудің түрі болып табылады.
Регрессиялық сынақтар функционалдық немесе функционалды емес сынақтар болуы мүмкін. Регрессиялық тестілеу үшін әдетте даму және тестілеудің бастапқы кезеңдерінде жазылған сынақ жағдайлары қолданылады. Бұл қолданбаның жаңа нұсқасындағы өзгертулер бар функционалдылықты бұзбағанына кепілдік береді.

Құжат жоқ болса, не істеу керек?

Талапсыз бағдарламалық жасақтаманы жасау мүмкін емес. Нәтижесінде, тапсырыс берушіге немесе даму тобына пайдасы болмайды және жобаның құлдырауы мүмкін.
Дегенмен, «құжаттама» әрдайым бағдарламалық жасақтаманың талаптарын білдірмейді, ол сонымен қатар сынақ артефакті - сынақтар, сынақ жағдайлары, бақылау тізімдері болуы мүмкін. Жоба бойынша құжаттаманың жалпы жағдайы басқаша болуы мүмкін.

Ағымдағы құжаттама

Ең алдымен, сіз талаптар бойынша құжаттамамен танысып, бағдарламалық қамтамасыз етумен танысу үшін барлық сынақтарды (сынақ жағдайлары, бақылау тізімдері) іске қосуыңыз керек.

Қажетсіз құжаттама

Неғұрлым маңызды талаптар мен сынақ артефактілері.
Тапсырыс берушімен келісе отырып, жобалық құжаттарда немесе сынақ артефактілерінде көрсетілмеген көптеген өзгерістер пайда болған жағдайда, талаптар орынды емес.

Неғұрлым маңызды талаптар және нақты сынақ артефактілері

Жағдай керемет, бірақ өте нақты. Осындай жобада бір рет тестілеуден өтуге мүмкіндігіңіз бар (сынақ жағдайлары, бақылау тізімдері). Бағдарламалық жасақтамаға қатысты сұрақтарыңызға жауап бере алатын топты табу керек.

Сәйкес талаптар және қате сынақ артефактілері

Ең алдымен, талаптар бойынша құжаттамамен танысамыз. Олардың негізінде жобаны түсініп, зерттейміз. Осыдан кейін біз сынақ артефактілерін ағымдағы күйге келтіреміз.

Презентация сілтемесі :

Талаптармен жұмыс істеу және жоспарлау